import axios from 'axios';
import { Notify, Toast } from 'vant';
import router from '../router';

export function request(config){  //export暴露
    const instance = axios.create({
        baseURL:'https://api.shop.eduwork.cn/',
        timeout:5000
    })

    //请求拦截
    instance.interceptors.request.use(config=>{    //instance创建实例
        //如果有一个接口需要谁才可以访问，就在这里统一设置
        const token = window.localStorage.getItem('token');

        if(token) {
            config.headers.Authorization = 'Bearer '+token;
        }
        //直接放行
        return config;
    },err=>{
        
    })           

    //响应拦截
    instance.interceptors.response.use(res=>{
        return res.data ? res.data : res;
    },err=>{
        //如果有需要授权才可以访问的API 跳转到login登陆
        if(err.response.status == '401') {
            Toast.fail('请先登陆');
            setTimeout(()=>{
                router.push({path:'/login'});
            },1000)
        }

        //如果有错误，这里会去处理 显示错误信息
    
        Notify(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0]);
    })

    return instance(config);  //返回实例

}